package com.evolved.automata.experimental;

import java.util.LinkedList;

import com.evolved.automata.WeightedValue;

public interface Agent extends Serializer {
	public Integer[] ExecuteDecisionProcess(int[] currentStateData, LinkedList<WeightedValue<Integer>> actionOptions);
	public void GeneSwap(Genome genome);
	public Genome[] GetTotalGenome();
	public void UpdateBaseInferentialFreedoms(double[] freedom);
	public void SetUtilityListener(UtilityListener listener); // you MUST call this immediately after loading an Agent from file
}
